package cn.fntop.weixin.controller;

import cn.fntop.weixin.annotation.FnApi;
import cn.fntop.weixin.annotation.FnRestApi;
import com.jfinal.weixin.sdk.api.ApiResult;
import com.jfinal.weixin.sdk.api.CustomServiceApi;
import com.jfinal.weixin.sdk.api.TemplateData;
import com.jfinal.weixin.sdk.api.TemplateMsgApi;
import com.jfinal.weixin.sdk.msg.in.InTextMsg;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * @author fn
 * @description 小程序
 * @date 2023/3/10 0:40
 */
@FnRestApi("/weixin/api")
@RequiredArgsConstructor
@Slf4j
public class ApiController {
    private final String SUCCESS = "success";
    @GetMapping("/send/template/msg")
    private String sendTemplateMsg() {
        //对应WxController.processInTemplateMsgEvent()
        ApiResult result = TemplateMsgApi.send(TemplateData.New()
                // 消息接收者
                .setTouser("oCB1C518dfl-AVUyQOGtpOPs4das")
                // 模板id
                .setTemplate_id("bcO8WU_kynQQeGV0HbnFVE5xwL0lwTAafD1oRGIblxs")
                //可以是h5或者小程序，点击消息跳转的连接。不填不跳
                .setUrl("https://blog.fntop.cn/")
                // 模板参数
                .add("first", "验票成功！\n", "#999")
                .add("keyword1", "时间：" + "2014年12月27日 19:30", "#999")
                .add("keyword2", "金额：" + "100", "#999")
                .add("remark", "欢迎下次光临", "#999")
                .build());
        return SUCCESS;
    }

    /**
     * 回复用户文本消息
     */
    @GetMapping("/reply/text/msg")
    private String replyTextMsg() {
        //此数据为保存在数据库中的数据，对应WxController.processInTextMsg()文本消息监听
        InTextMsg inTextMsg = new InTextMsg("1", "1", 1, "1");
        CustomServiceApi.sendText(inTextMsg.getFromUserName(), "您输入1试试");
        return SUCCESS;
    }
}
